merging branches with hexgnu's master

This is to merge gemmaros's features with hexgnus' up to date features