add bootstrap and some refactor