some clean and added Spout support