inspired by and requirements