implemented all backend functionality, type checks and bug fixes still
needed
added support for subtitle and audio tracks