refactor / split test methods
exploring the warnings
playing with laziness