Merge pull request #2 from vladimir-lu/master

Remove the need for most unsafe blocks and start creating a dedicated low-level module.