Initial code drop, basic functionality and tests