modified functions;
need previous tasks