works kinda i guess with no subshell