variables & nicer interface