better segragation of code