modularisation of s3