some cleanup, added ->add() method (i should figure out intervals and subtraction and shit)