optional implementation.