cleanup, adding constructor permissions, deprecating certain methods