Added first draft tests & implementation