fixed fatal bug, still need to sort out responsiveness