project functionality