rearranged methods for easier integration