I give up on supressing page refresh for now. it works one way, improvements are left for future versions