implemented new profile system

resolves #61