some refactoring
finished rack