Update, use LocalDateTime, and add tests