started implementing gen methods