Initial commit for basica usability

This brings v5 to the point where its basic features could be used, but
still considered alpha release.