refactoring
add methods