more changes toward object oriented stuff