all functionality completed