make it a little cleaner before working on unary operators