now it passes, next i need to break into sub classes