first commit - factory working