More or less complete for demo