fix function names
add some methods