Implement enhancements demanded by nafergo

This implements issue #52 
Maybe* :)