changed constructor definition