added modes of functionality