added button creation and component support.