Basic implementation. Passed basic single pass, single fail tests