Tis good
A little short :P and the hittests don't seem to be working well >.<
I took a look at your code. I think I saw the same thing 3 times XD (Although it's harder to read others code) The problem of teleporting threw the walls is probably the acceleration in the script. The hittests you've made can't calculate the constantly changing speed XD Had that problem before.
But I'm glad that you made some origenal code rather then copying and pasting others :P PM me if you need any help (Hardly sign in though XD)