Simplification, seems to be a working version.