refactored and added LESS support