Initial commit
Created some tests and impl