implemented singular extension. still need lots of cleanup and thinking
through to see if all code has the right ideas.