moved constructor to header file