major name refactor also fixes #6 and fixes #4