Updated to add new ideas from oscon