some codes I don't want to throw away.. so keep it..