refactored button model and added iconClass