added Lockable package
refactored Rule package
added an Exception to Lockable package
refactoring the Structure