now the basic elements are completed
basic functions are ok