progress towards 0.0.2: implemented most of the features that were wanted