A new version because of the faulty Events module version; reformatting back part of code as initial