initial commit with working generic modal