added date implementation