added comments + design