skeleton algorithm