add properties management in parameter and key, and did more parameter refactoring