changed a lot, just a commit to keep everything updated