moved constructor to body