player option implemented
minor refactoring
a compiling version