abstract pouring methods