Help With This Mix, Struggling a bit (Metalcore)

Piano needs some kind of reverb and some humanization, it sounds very fake and like MIDI was just thrown in. Your guitars need a lot of EQing, they sound dry, small and ratty. I would suggest a lot of mid-range gain and less high-end and bass on the guitar tone itself. Drums need some humanization and EQing, they sound really dry. Kick needs less high-end.
 
I'm no expert on this stuff (Okay, well I'm a noob), but a couple things I noticed are: I think the vocals could be mixed in a bit more. Perhaps double track the highs, they seem a little empty. The bass could use some more volume too. That'll help make your mix sound bigger - especially the guitar tone. Ola Englund's tutorial on the forum helped me with that a lot (a good metal bass tone that is).
The piano intro sounds straight out of Guitar Pro 5 .. perhaps use a better softsynth for the piano, or back it with a pad?