Working on new scheme. I'm not sure that I like how complicated it seems