added additional constructors and fixed little errors