Separating parts of functionality