This looks like exactly what I need