Edited, again, feel free to suggest ideas.