scheme solution