added a 5th idea which might be my best one