added a few private methods