move basename to configuration
failproof line properties
clean up line properties, add description
allow adding points via method
slim down description of InputPoints
add custom json encoder

(can't remember why we needed that)
restructure from dictionaries to lists

also comments out a huge portion of code for review & rewrite purposes.