make it supper slow but correct