Fixed #79, #78, #77, #76, #74, #69, #68.