some refacctoring
web app new struct