Merge #270, #182, #285, #283