made even more things class dependend