add implementation details