add push functions for sink