first functionalities added; it works pretty well!