best time to take vitamin b complex