specifying implementations