added a parameter constructor