* Re-synced js with ts