rearranging basic functionality