layed out s3 framework for functions or each type