add many features such as button onclick things