made datetime private inline because of preprocessors