Move stuff around
boolean opearators
Use visitor