use underscores for dividing long names. add some more methods