Initial commit with unit tests