add scala functional + objects