todo: fix variable misuse