ensure subdirectories always exist
refactor out SSH keys