this should be a bit closer
add all the methods
;