most functions are achieved