Basic funtions are implemented, but have not tested yet...