#54, #49, #48, #43, #31 and small fixes