Added recommendations from @bluefuton

Mostly added unit testing