extend Dereks idea to initialization as well