draft added, working on closures