fixed return problems