improved code
added navigation view component