Full functionality almost there