changed constructor to be private.