add hiccup and restructure the project