More or less complete and working now