i am doing it wrong with instancetype
wrong scope leads to memory management error
unit test it