updates and initial tests added