Fine tuning the band-gap of graphene by atomic and molecular doping: a density functional theory study