changed to composer friendly architeture