Revised Implementation. Removed executable flag from some files.