added impl for print methods, added signatures of private functions to header