Cdodge/add user preferences

@mattdrayer can you look at this?