Basic working implementation.