split responsability to specific areas files,
added specs