fixed K setters and refactored