Addressed #55, #59, #61, #63