* Error handling and some extra code comments