updated changelog
move implementation from cc to h file
clean up class def