Dynamic loading

Closes #6 and resolves #4