fixed second half, working on first