Moved over stuff from private