Interim commit - made more dry (got rid of addNew and subNew, redundant)