master branch reorganized to keep only the basic functionality with 16 point weideman.