Add logging and implement basic methods