Updated with new ideas