generate methods WIP