Basic implimentation of up