initializing basic functionality