First batch of code and tests. Nothing special yet