First real commit. Basic functionality