dialog with positioning, refactor source to be a property