refactor complete - everything seems to be working grand