finish THE most basic functionalities