fixin test all day ,refactoring stuff also