many functions added
add many methods