almost ready, trait_method still needs to be converted