Validation and misc awesome stuff