basically done, still need to figure out the button and some fine-tuning