basic functions have been fulfilled