newer ideas.TODO - collapse implementation.