Amend with most of @viktorlang suggestions