Basic functionality and tests added