rearranged interesting methods a bit