Webapp big refactor

#348
use data provider here