specify constructor on compose, bind functions to scope properly
...