add dependencies
initial implementation
add overloaded Return method
add compose tests