basic entitiy component stuff