basic funcationality achieved