finally made a working one.