reimplement fill level