make ui reactive, create public dir, other tweaks