init

this need to be refactored later...