numerous improvement, integrating firebase