added p54, good object oriented stuff in it